A switch has a plurality of ports which receive data in the form of packets. The switch stores the data in the switch memory and analyzes the data to determine through which port the packet should be sent out. In this way data is routed from one workstation to another without having to be sent to all the workstations on a computer network. Very often a situation arises where there is a lot of data from either individual workstations or Local Area Networks (LAN) which are destined for a same or substantially similar distant location. In such situations, the individual stations or LAN's are connected to separate client ports of a blocking switching. The blocking switch then has an uplink port with a link to that part of a network to which the large amount of data is to be sent. The uplink port has a data rate which is larger than the individual data rates of the client ports. However, the combined data rate of all of the client ports put together is larger than the data rate of the uplink port. This often occurs because in ordinary situations not all of the client ports are continuously receiving data.
Inside the switch, there is a switch memory. The data from the client ports go to the switch memory and the switch has a processor which determines through which port the data is sent out. When that port is able to transmit the data, the data is moved by the processor from the switch memory to the output port and then transmitted out of the port.
In a worst case scenario, it is possible for all the client ports to be simultaneously receiving data at a particular instant. This often happens in short bursts during normal operation. The switch memory therefore needs to be large and fast enough to temporarily store these large bursts of incoming data until the incoming data rate slows down and the outgoing data rate is able to catch up and remove the excess data.
If the switch memory is not large and fast enough to hold all of the data in a worst case scenario, data will be lost during exceptionally high traffic operation of the switch. This is clearly disadvantageous, since dropped or lost data will most likely corrupt a much larger operation between two workstations, and require a re-sending of much more data than was originally lost. Adding large and fast quantities of memory to a switch is expensive and is often not economically justifiable when only used during the infrequent occurrences of worst case scenarios.